Desktop assistant for multiple information types

ABSTRACT

A method and system for providing an aggregate view of information that a user may need is provided. A desktop assistant system collects information items that a user may need such as scheduling information and recently received messages. The desktop assistant system may also identify documents that the user may need and contacts with whom the user may need to communicate based on analysis of the collected scheduling information and the collected messages. The desktop assistant system then displays indications of the collected scheduling information, the collected messages, the identified documents, and the identified contacts so that the user has an integrated view of the needed information items.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation application of U.S. patentapplication Ser. No. 11/468,967, issued as U.S. Pat. No. 8,621,373,entitled “METHOD AND SYSTEM FOR PROVISIONING A WIRELESS DEVICE,” whichis incorporated herein in its entirety by reference.

BACKGROUND

Users of computer systems may access information items of various typesto assist them in performing their daily tasks. The types of informationitems may include messages, calendar information, documents, contactinformation, and other information sources. The messages may includeelectronic mail messages, Voice over Internet Protocol (“VoIP”)messages, instant messages, and voice mail messages. The calendarinformation may include scheduled meetings and to-do lists. Thedocuments may include reports, memoranda, design documents, letters, andso on. The contact information may include electronic mail addresses,telephone numbers, and presence information. The other informationsources may include web databases, RSS feeds, news services, and so on.Typically, different information client applications are used to supportdifferent types of information. For example, a user who wants to send amessage using instant messaging and electronic mail would need to haveinstalled on their computer system an electronic mail client applicationand an instant messaging client application. As another example, a userwho wants to access a SQL database would need a SQL client application,and a user who wants to access a web database would need a web clientapplication. Each client application, however, provides its owninterface or context for its information items. An electronic mailclient application may provide a context that includes from, to,subject, and input fields and icons for creating messages, sendingmessages, replying to messages, resolving addresses, and so on. Aninstant messaging client application may provide a context that includesa list of contacts that are online, a pop-up window that is displayedwhen a message arrives, and a chat window for displaying and inputtinginstant messages.

When a user wants to plan out their day, the user may need to accessinformation items of many different types. For example, a user may wantto review calendar information about a scheduled meeting, reviewdocuments related to the scheduled meeting, have discussions with otherinvitees before the meeting, review electronic mail messages relating tothe meeting, and so on. It can be a very difficult task for a user togather all the needed information because the user may need to accessmany different information client applications.

In addition, a user who is performing a task may be bombarded withmessages sent from others that are unrelated to the task beingperformed. For example, a user who is preparing a financial statementfor a corporation may receive an instant message from a personal friendor may receive an electronic mail message reporting a recent news event.The user may get distracted by such unrelated messages, resulting inloss of concentration and lower efficiency. Although the user couldeffectively go offline to avoid being interrupted by any messages, theuser would not be able to receive very important messages that arerelated to the task being performed.

SUMMARY

A method and system for providing an aggregate view of information thata user may need is provided. A desktop assistant system collectsinformation items that a user may need such as scheduling informationand recently received messages. The desktop assistant system may alsoidentify documents that the user may need and contacts with whom theuser may need to communicate based on analysis of the collectedscheduling information and the collected messages. The desktop assistantsystem then displays indications of the collected schedulinginformation, the collected messages, the identified documents, and theidentified contacts so that the user has an integrated view of theneeded information items. The desktop assistant system may collect anddisplay detailed information related to a specific information item suchas a meeting, an electronic mail message, or a document. When the userselects a currently displayed indication of an information item, thedesktop assistant system gathers and displays the related information.

The desktop assistant system may also display communications fordifferent communication types organized by time slots. The desktopassistant system may display a timeline with time slot markings. Thedesktop assistant system displays an indication of the communicationsaligned with the corresponding time slot. The desktop assistant systemmay also align indicators for the same types of communications. Thealigning of communications based on time slots provides a user with anoverview of the timing of communications of different types.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an overview display page of the desktop assistantsystem in one embodiment.

FIG. 2 illustrates a display page with more information about aninformation item in one embodiment.

FIG. 3 illustrates a display page when information items are filteredaccording to the priority threshold in one embodiment.

FIG. 4 illustrates a display page that displays detailed relatedinformation about a selected information item in one embodiment.

FIG. 5 is a block diagram that illustrates components of the desktopassistant system in one embodiment.

FIG. 6 is a flow diagram that illustrates the processing of the generateoverview page component of the desktop assistant system in oneembodiment.

FIG. 7 is a flow diagram that illustrates the processing of the generatetime slot message area component of the desktop assistant system in oneembodiment.

FIG. 8 is a flow diagram that illustrates the processing of theestablish priority component of the desktop assistant system in oneembodiment.

FIG. 9 is a flow diagram that illustrates the processing of the filterinformation component of the desktop assistant system in one embodiment.

FIG. 10 is a flow diagram that illustrates the processing of thegenerate detailed page component of the desktop assistant system in oneembodiment.

DETAILED DESCRIPTION

A method and system for providing an aggregate view of information thata user may need is provided. In one embodiment, a desktop assistantsystem collects information items that a user may need such asscheduling information and recently received messages. The desktopassistant system may interface with one or more electronic mail systems(e.g., a HOTMAIL server or an EXCHANGE server) to retrieve electronicmail messages and may interface with one or more calendaring systems(e.g., a personal and business calendar systems) to retrieve thescheduling information. The desktop assistant system may also identifydocuments (e.g., text files, web sites, electronic mail messages, andtheir metadata) that the user may need and contacts with whom the usermay need to communicate based on analysis of the collected schedulinginformation, the collected messages, and associated metadata. Forexample, the desktop assistant system may identify an agenda for ascheduled meeting by retrieving a document stored by a file system andmay identify senders who have recently sent electronic mail messages byusing their electronic mail addresses to retrieve their names from anaddress book. The desktop assistant system then displays indications ofthe collected scheduling information, the collected messages, theidentified documents, and the identified contacts so that the user hasan integrated view of the needed information items. In one embodiment,the desktop assistant system may collect and display detailedinformation related to a specific information item such as a meeting, anelectronic mail message, or a document. For example, when a user selectsa meeting, the desktop assistant system may display the meeting notice,names of the invitees of the meeting, documents relating to the meeting,and so on. When the user selects a currently displayed indication of aninformation item, the desktop assistant system gathers and displays therelated information.

In one embodiment, the desktop assistant system displays messages fordifferent types of communications organized by time slots. For example,a day may be divided into 24 one-hour time slots. The desktop assistantsystem may display a timeline, horizontally or vertically, with timeslot markings. The desktop assistant system displays an indication ofthe communications aligned with the corresponding time slot. Forexample, if a user has received three electronic mail messages witharrival times of 1:05 p.m., 1:30 p.m., and 1:32 p.m., the desktopassistant system displays an indicator (e.g., icon) of the messagesaligned with the 1:00 p.m. time slot. If the timeline is displayedvertically, then the indicators may be aligned horizontally with thetime slots. The desktop assistant system may also align indicators forthe same types of messages. For example, the desktop assistant systemmay align the indicators of electronic mail messages, may align theindicators of instant messages, and may align the indicators of voicemail messages. If the timeline is displayed vertically and theindicators are aligned horizontally with the time slots, then theindicators for the different types of messages may be alignedvertically. The aligning of messages based on time slots provides a userwith an overview of the timing of messages of different types. Thedesktop assistant system may also align calendar information (e.g.,scheduled meetings) with the timeline so that the user can see thetiming of meetings relative to the timing of received messages. Thedesktop assistant may align communications other than messages such asRSS feeds.

In one embodiment, the desktop assistant system allows a user toestablish a priority threshold for information items that are to bedisplayed. The desktop assistant may display a selector, such as aslider or a data entry field, that allows a user to select a continuouspriority threshold (e.g., between 0 and 100 or between low and high).For example, when the desktop assistant system displays a slider, a usermay move the slider to increase or decrease the priority threshold. Thedesktop assistant system filters information items based on the prioritythreshold so that information items that do not satisfy the prioritythreshold are not displayed. In addition, when new messages arereceived, the desktop assistant system applies the priority threshold todetermine whether an indicator of the message should be displayed. Thedesktop assistant system may also allow a user to specify rules fordetermining whether an information item satisfies a priority threshold.The rules may be in the form of a condition and action pair. If thecondition is satisfied, then the action is performed. For example, acondition may be satisfied when an instant message is sent from acertain recipient, and the action may be to filter out the instantmessage. In this way, the desktop assistant system allows users tocontrol what information items are displayed by level of priority. Whena user is performing a high priority task, the user may set the prioritythreshold to high to limit interruptions. Alternatively, the desktopassistant system may automatically adjust the priority threshold. Forexample, depending on available display space, the desktop assistant mayincrease and decrease the threshold. The desktop assistant may alsoanalyze the presence information of the use and adjust the thresholdaccordingly. For example, if the use is currently editing a highpriority document, the desktop assistant system may automatically setthe priority threshold to be the same as that of the document to preventinterruptions with lower priorities.

FIG. 1 illustrates an overview display page of the desktop assistantsystem in one embodiment. Display page 100 includes a date area 101, atime slot area 102, a time slot message area 103, a message center area104, a today's documents area 105, a today's primary contacts area 106,a today's tasks area 107, and a priority selector area 108. The datearea 101 may contain an indication of the current month and a list ofthe dates within the month with the current date highlighted. A user canselect different dates and months within the date area. The time slotarea 102 includes time slots marked with the corresponding times. Inthis example, the time slot area includes time slots between 8 a.m. and4 p.m. at one-hour intervals. The time slot area also includes acalendar area indicating the times of scheduled meetings. In thisexample, the calendar area indicates that meetings are scheduled for 10a.m. and 1 p.m. The time slot message area 103 includes icons indicatingmessages that have been received aligned with corresponding time slots.In this example, an electronic message is represented by an envelopeicon, an instant message is represented by an icon containing “IM,” anda voice mail message is represented by an icon containing “VM.” Theicons of the messages are aligned with the corresponding time slots. Forexample, the icon to the right of the 9 a.m. time slot indicates that anelectronic mail message was received sometime between 9 a.m. and 10 a.m.The icons to the right of the 10 a.m. time slot indicate that anelectronic mail message and an instant message were received between 10a.m. and 11 a.m. The icons for the different types of messages are alsoaligned. In this example, the icons for the different types of messagesare aligned vertically. The time slot message area may also display ashort description for each icon, such as part of the subject line of anelectronic mail message. Icons for other types of information (e.g., RSSfeeds) may also be aligned with the time slots. The message center area104 provides a summary of the pending messages that have been receivedby the user. The today's documents area 105 contains an indication ofdocuments that the user may need today. The desktop assistant system mayidentify the documents that are needed today by analyzing recentlyreceived messages and scheduling information for upcoming meetings. Thedocuments may be arranged in priority order. The today's primarycontacts area 106 provides an indication of the people with whom theuser may need to communicate today. The today's tasks area 107 containsan indication of the tasks that the user wants to perform today. Thepriority selector area 108 contains a slider for adjusting the prioritythreshold.

FIG. 2 illustrates a display page with more information about aninformation item in one embodiment. Display page 200 includes anindication 210 of a meeting that starts at 1 p.m. and an associateddescription 211. The associated description was displayed by the desktopassistant system when a user hovered the mouse pointer over theindication of the meeting. A user can hover the mouse pointer over theindications of any of the information items to display more information.For example, when the mouse pointer hovers over a document, the desktopassistant system may display metadata of the document.

FIG. 3 illustrates a display page when information items are filteredaccording to the priority threshold in one embodiment. Display page 300corresponds to the display page 100 of FIG. 1, except that the prioritythreshold has been changed. In this example, a user has selected a highpriority threshold as indicated by a slider 308. In response to thepriority threshold being changed, the desktop assistant system filteredout information items that did not satisfy the priority threshold andremoved them from the display. Because the meeting scheduled at 10 p.m.has a priority that was not high, the desktop assistant system removedthe indication of that meeting from a time slot area 302. The desktopassistant system also removed icons for various messages with prioritiesthat did not satisfy the priority threshold as indicated by a time slotmessage area 303. Similarly, the desktop assistant system madeadjustments to a today's documents area 305, a today's primary contactsarea 306, and a today's tasks area 307.

FIG. 4 illustrates a display page that displays detailed relatedinformation about a selected information item in one embodiment. Displaypage 400 includes a date area 401, a time slot area 402, a time slotmessage area 403, a related documents area 410, a related people area411, a related messages area 412, and a priority selector 408. When auser selected the indicator for the 1 p.m. meeting, the desktopassistant system collected related information items and displayed theinformation items in the illustrated layout. The desktop assistantsystem also displayed a detailed description 413 of the meeting. In thisexample, all the information items to the right of the time slot arearelate to the 1 p.m. meeting. If the user then selects an icon for amessage, the desktop assistant system collects information items relatedto that message and displays indications of the information items.

FIG. 5 is a block diagram that illustrates components of the desktopassistant system in one embodiment. The desktop assistant system 530 isconnected to a presence server 511, an electronic mail server 512, aninformation server 513, and a user computer 514 via a communicationslink 520. The desktop assistant system may also be connected to manyother user computer systems and information systems and may subscribe tothe presence information of multiple contacts. The desktop assistantsystem may interface with an electronic mail client application 531, aninstant messaging client application 532, a voice mail clientapplication 533, and a calendar/task client application 534. Each ofthese client applications may interact with a corresponding server thatstores the information items of the client application. The desktopassistant system may also include a contact store 535 and a documentstore 536. The contact store may contain contact information includingthe current presence information of various contacts that may beperiodically provided by the presence server. The document store maycontain documents of a file system. The desktop assistant system alsoincludes an identify related information component 541 and a relatedinformation store 542. The identify related information componentidentifies information related to an information item and storesindications of the related information in the related information store.A system for identifying related information is described in U.S. patentapplication Ser. No. 10/827,920, entitled “Systems and Methods forPerforming Background Queries from Content and Activity,” which ishereby incorporated by reference. The desktop assistant system alsoincludes a desktop assistant component 543, a generate overview pagecomponent 544, a generate detailed page component 545, an establishpriority component 546, a filter information component 547, and agenerate time slot message area component 548. The desktop assistantcomponent invokes the generate overview page component and the generatedetailed page component to display pages corresponding to the displaypages of FIG. 1 and FIG. 4. The establish priority component is invokedwhen a user changes the priority threshold. The filter informationcomponent is invoked to filter information items based on the currentpriority threshold. The generate time slot message area component alignsmessages based on the corresponding time slots and message types.

The computing devices on which the desktop assistant system may beimplemented may include a central processing unit, memory, input devices(e.g., keyboard and pointing devices), output devices (e.g., displaydevices), and storage devices (e.g., disk drives). The memory andstorage devices are computer-readable media that may containinstructions that implement the desktop assistant system. In addition,the instructions, data structures, and message structures may be storedor transmitted via a data transmission medium, such as a signal on acommunications link. Various communications links may be used, such asthe Internet, a local area network, a wide area network, or apoint-to-point dial-up connection.

The desktop assistant system may be implemented on various computingsystems or devices including personal computers, server computers,multiprocessor systems, microprocessor-based systems, network PCs,minicomputers, mainframe computers, distributed computing environmentsthat include any of the above systems or devices, and the like. Thedesktop assistant system may be used by various computing systems suchas personal computers, cell phones, personal digital assistants,consumer electronics, home automation devices, and so on.

The desktop assistant system may be described in the general context ofcomputer-executable instructions, such as program modules, executed byone or more computers or other devices. Generally, program modulesinclude routines, programs, objects, components, data structures, and soon that perform particular tasks or implement particular abstract datatypes. Typically, the functionality of the program modules may becombined or distributed as desired in various embodiments.

FIG. 6 is a flow diagram that illustrates the processing of the generateoverview page component of the desktop assistant system in oneembodiment. The component 600 is invoked to generate the display page ofFIG. 1. In block 601, the component retrieves calendar information forthe user by interacting with a calendar client application. In block602, the component identifies messages of the user by interacting withvarious message client applications. In block 603, the componentidentifies documents that the user may need today. In block 604, thecomponent identifies contacts with whom the user may need to communicatetoday. In block 605, the component identifies tasks that the user hasscheduled to perform today. In block 606, the component invokes thefilter information component to filter out the information items that donot satisfy the priority threshold. In block 607, the componentgenerates a date area. In block 608, the component invokes the generatetime slot message area component to generate messages aligned by timeslot and message type. In block 609, the component generates today'sdocuments, primary contacts, and tasks areas. In block 610, thecomponent displays the generated areas as a display page and thencompletes.

FIG. 7 is a flow diagram that illustrates the processing of the generatetime slot message area component of the desktop assistant system in oneembodiment. The component 700 generates an area that includesindications of messages aligned by time slot and aligned by messagetype. In block 701, the component retrieves calendar information for theuser. In block 702, the component generates a time slot area thatincludes a timeline marked with the times of the time slot andoptionally calendar information. In blocks 703-707, the component loopsselecting each message type and each message within each message typeand displaying an indication of the messages aligned by time slot andmessage type. In block 703, the component selects the next message type.In decision block 704, if all the message types have already beenselected, then the component returns, else the component continues atblock 705. In block 705, the component selects the next message of theselected message type. In decision block 706, if all the messages of theselected message type have already been selected, then the componentloops to block 703 to select the next message type, else the componentcontinues at block 707. In block 707, the component displays a messageicon for the selected message aligned with the appropriate time slot andmessage type. The component then loops to block 705 to select the nextmessage.

FIG. 8 is a flow diagram that illustrates the processing of theestablish priority component of the desktop assistant system in oneembodiment. The component 800 controls the priority selector andgenerates a new page to reflect a change in the priority threshold. Inblock 801, the component displays a priority slider. In block 802, thecomponent initially sets the priority threshold to low. In block 803,the component displays the slider to indicate low priority. In blocks804-806, the component loops waiting for slider movement and generatingnew pages based on the adjusted priority threshold. In block 804, thecomponent waits for slider movement. In block 805, the component setsthe priority threshold to the new priority threshold. In block 806, thecomponent generates a new page (e.g., overview page or detailed page)based on the new priority threshold and loops to block 804 to wait forthe next slider movement.

FIG. 9 is a flow diagram that illustrates the processing of the filterinformation component of the desktop assistant system in one embodiment.The component 900 is passed information items and filters outinformation items that do not satisfy the priority threshold, which maybe set by the user or automatically by the desktop assistant system. Inblock 901, the component selects the next information type (e.g.,message or calendar item). In decision block 902, if all the informationtypes have already been selected, then the component returns theinformation items that have been marked as satisfying the prioritythreshold, else the component continues at block 903. In block 903, thecomponent selects the next information item for the selected informationtype. In decision block 904, if all such information items have alreadybeen selected, then the component loops to block 901 to select the nextinformation type, else the component continues at block 905. In block905, the component selects the next rule for determining whether aninformation item satisfies the priority threshold. In decision block906, if all the rules have already been selected, then the selectedinformation item does not satisfy the priority threshold and thecomponent loops to block 903 to select the next information item, elsethe component continues at block 907. In block 907, the componentapplies the selected rule to the selected information item. In decisionblock 908, if the condition of the rule is satisfied, then the componentcontinues at block 909, else the component loops to block 905 to selectthe next rule. In block 909, the component performs the action of therule such as marking the selected information item as satisfying or notsatisfying the priority threshold. The component then loops to block 903to select the next information item.

FIG. 10 is a flow diagram that illustrates the processing of thegenerate detailed page component of the desktop assistant system in oneembodiment. The component 1000 generates the detailed page of FIG. 4 fora selected information item. In block 1001, the component retrievescalendar information for the user. In block 1002, the componentidentifies messages of the user. In block 1003, the component identifiesdocuments related to the selected information item. In block 1004, thecomponent identifies people related to the selected information item. Inblock 1005, the component identifies messages related to the selectedinformation item. In block 1006, the component invokes the filterinformation component to filter out information items that do notsatisfy the priority threshold. In block 1007, the component generates adate area. In block 1008, the component generates a messages area. Inblock 1009, the component generates a calendar area. In block 1010, thecomponent displays the generated areas as illustrated in FIG. 4. Thecomponent then completes.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims. Accordingly, the invention isnot limited except as by the appended claims.

We claim:
 1. A computer system for providing an aggregation ofinformation that a user may need, the system comprising: a memorystoring computer-executable instructions comprising: a component thatcollects scheduling information of the user, the scheduling informationincluding indications of scheduled meetings; a component that collectsmessages of the user of different message types; a component thatautomatically identifies documents that the user may need based onanalysis of the collected scheduling information and the collectedmessages such that each identified document relates to a scheduledmeeting or a collected message; a component that automaticallyidentifies contacts with whom the user may need to communicate based onanalysis of the collected scheduling information and the collectedmessages such that each identified contact is an invitee of a scheduledmeeting or sender or recipient of a collected message; and a componentthat displays indications of the collected scheduling information, thecollected messages, the identified documents, and the identifiedcontacts whose priority is greater than a priority threshold so that theuser has an integrated view of information needed by the user; acomponent that automatically determines the priority threshold based ona size of a display space of the indications of the collected schedulinginformation; and a processor that executes the computer-executableinstructions stored in the memory.
 2. The computer system of claim 1wherein the information is related to a single day.
 3. The computersystem of claim 1 wherein the collected messages have associated timesand the indications of the messages are displayed aligned by time slotassociated with their times.
 4. The computer system of claim 1 whereinthe indications of the messages are aligned by message type.
 5. Thecomputer system of claim 1 wherein the indications of the schedulinginformation are displayed aligned by time slots.
 6. The computer systemof claim 1 wherein the priority threshold is selected by adjusting aslider.
 7. The computer system of claim 1 wherein the component thatdisplays the collected scheduling information displays the indicationsof the collected messages, the identified documents, and the identifiedcontacts in response to selection of a displayed indication of collectedscheduling information.
 8. The computer system of claim 1 furthercomprising a component that performs the analysis of the collectedscheduling information and the collected messages to identify documentsand contacts related to the collected scheduling information andcollected messages.
 9. The computer system of claim 1 wherein thecollected scheduling information describes a meeting and the componentthat identifies documents identifies a document containing an agenda forthe meeting and wherein the component that identifies contactsidentifies persons who sent the collected messages.
 10. The computersystem of claim 1 wherein the computer-executable instructions stored inthe memory further comprising a component that constructs a query basedon the analysis of terms in the collected scheduling information and thecollected messages and the component that identifies documentsidentifies documents that match the query.
 11. The computer system ofclaim 10 wherein the query comprises terms selected based on frequencyof in the collected scheduling information and the collected messages.12. A computer-readable medium that does not consist of a signal storingcomputer-executable instructions for controlling a computing system todisplay indicators of information items of different information typesof communication, the computer-executable instructions comprisinginstructions that: access information items relating to a scheduledmeeting with a scheduled time, each information item having anassociated time and an information type, the time associated with eachinformation item being prior to the scheduled time of the scheduledmeeting and indicating time of transmission of the information item froma sender to a recipient, the information types being selected from thegroup consisting of an electronic mail message, an instant message, anda voice mail message; receive a selection of a priority threshold,wherein the priority threshold is selected by adjusting a sliderdisplayed within a graphical user interface; display an indicator of thescheduled meeting that indicates of the scheduled time of the scheduledmeeting; and for each of a plurality of information types, for eachinformation item of the information type, identify the time associatedwith the information item; and display an indicator of the informationitem that indicates the identified time and whose priority exceeds thepriority threshold.
 13. The computer-readable medium of claim 12including instructions that, when a displayed indicator of aninformation item is selected, display content of the information item.14. The computer-readable medium of claim 12 including instructions thatdisplay indicators of documents and contacts related to tasks to beperformed by a user of the computing system.
 15. The computer-readablemedium of claim 12 wherein the indicators of information items arealigned by information type.
 16. A computer-readable medium that doesnot consist of a signal storing computer-executable instructions forcontrolling a computing system to provide an aggregation of informationthat a user may need, the computer-executable instructions comprisinginstructions that: collect scheduling information of the user, thescheduling information including indications of scheduled meetings;collect messages of the user of different message types the messageshaving associated times; identify documents automatically that the usermay need to review for a scheduled meeting or to review in context of acollected message based on analysis of the collected schedulinginformation and the collected messages such that each identifieddocument relates to a scheduled meeting or a collected message; anddisplay indications of the collected scheduling information, theindications of the collected messages aligned by time slots associatedwith their times within a graphical user interface, and the identifieddocuments, so that the user has an integrated view of information neededby the user.
 17. The computer-readable medium of claim 16 furtherincluding instructions that: identify contacts with whom the user mayneed to communicate based on analysis of the collected schedulinginformation and the collected messages; and display indications of theidentified contacts along with the displayed indications of thecollected scheduling information, the collected messages, and theidentified documents.
 18. The computer-readable medium of claim 16wherein the indications of the messages are aligned by message type. 19.The computer-readable medium of claim 16 including instructions that, inresponse to selection of a displayed indication of schedulinginformation, display the indications of the collected messages and theidentified documents.